Tüm kullanıcı bilgilerini/izinlerini belgelemek üzere bir dosyaya vermeyi deniyorum. Bu görevden bir betik bulmaya çalışıyorum, bir kerede bir sunucudan tüm SQL veritabanlarından tüm izni almak için var mı? SQL 2008 ve 2012 ile çalışmak.Veritabanı izinlerini bir CSV dosyasına dışa aktarma
0
A
cevap
1
@Damaged "Veritabanı Düzeyinde Nesne İzinleri" vermek için powershell kullandım. Çözünürlüğü deneyebilirsiniz.
[string]$SrvIns = 'YourServerName'
[string]$db = 'YourDatabaseName'
$sql = " SELECT
usr.name AS 'User',
CASE WHEN perm.state <> 'W' THEN perm.state_desc ELSE 'GRANT' END AS PermType,
perm.permission_name,
USER_NAME(obj.schema_id) AS SchemaName,
obj.name AS ObjectName,
CASE obj.Type
WHEN 'U' THEN 'Table'
WHEN 'V' THEN 'View'
WHEN 'P' THEN 'Stored Proc'
WHEN 'FN' THEN 'Function'
ELSE obj.Type END AS ObjectType,
CASE WHEN cl.column_id IS NULL THEN '--' ELSE cl.name END AS ColumnName,
CASE WHEN perm.state = 'W' THEN 'X' ELSE '--' END AS IsGrantOption
FROM
sys.database_permissions AS perm
INNER JOIN sys.objects AS obj
ON perm.major_id = obj.[object_id]
INNER JOIN sys.database_principals AS usr
ON perm.grantee_principal_id = usr.principal_id
LEFT JOIN sys.columns AS cl
ON cl.column_id = perm.minor_id AND cl.[object_id] = perm.major_id
WHERE
obj.Type <> 'S'
ORDER BY
usr.name, perm.state_desc ASC, perm.permission_name ASC"
Invoke-Sqlcmd -ServerInstance $SrvIns -Database $db -Query $sql | Export-Csv C:\permission.csv
Good Luck **
0
Burada birisi o mükemmel çalışır benim için bulduğu bir komut dosyasıdır. Ben başkalarının kullanabileceği şekilde gönderiyorum.
set nocount on
declare @permission table (
Database_Name sysname,
User_Role_Name sysname,
Account_Type nvarchar(60),
Action_Type nvarchar(128),
Permission nvarchar(60),
ObjectName sysname null,
Object_Type nvarchar(60)
)
declare @dbs table (dbname sysname)
declare @Next sysname
insert into @dbs
select name from sys.databases order by name
select top 1 @Next = dbname from @dbs
while (@@rowcount<>0)
begin
insert into @permission
exec('use [' + @Next + ']
declare @objects table (obj_id int, obj_type char(2))
insert into @objects
select id, xtype from master.sys.sysobjects
insert into @objects
select object_id, type from sys.objects
SELECT ''' + @Next + ''', a.name as ''User or Role Name'', a.type_desc as ''Account Type'',
d.permission_name as ''Type of Permission'', d.state_desc as ''State of Permission'',
OBJECT_SCHEMA_NAME(d.major_id) + ''.'' + object_name(d.major_id) as ''Object Name'',
case e.obj_type
when ''AF'' then ''Aggregate function (CLR)''
when ''C'' then ''CHECK constraint''
when ''D'' then ''DEFAULT (constraint or stand-alone)''
when ''F'' then ''FOREIGN KEY constraint''
when ''PK'' then ''PRIMARY KEY constraint''
when ''P'' then ''SQL stored procedure''
when ''PC'' then ''Assembly (CLR) stored procedure''
when ''FN'' then ''SQL scalar function''
when ''FS'' then ''Assembly (CLR) scalar function''
when ''FT'' then ''Assembly (CLR) table-valued function''
when ''R'' then ''Rule (old-style, stand-alone)''
when ''RF'' then ''Replication-filter-procedure''
when ''S'' then ''System base table''
when ''SN'' then ''Synonym''
when ''SQ'' then ''Service queue''
when ''TA'' then ''Assembly (CLR) DML trigger''
when ''TR'' then ''SQL DML trigger''
when ''IF'' then ''SQL inline table-valued function''
when ''TF'' then ''SQL table-valued-function''
when ''U'' then ''Table (user-defined)''
when ''UQ'' then ''UNIQUE constraint''
when ''V'' then ''View''
when ''X'' then ''Extended stored procedure''
when ''IT'' then ''Internal table''
end as ''Object Type''
FROM [' + @Next + '].sys.database_principals a
left join [' + @Next + '].sys.database_permissions d on a.principal_id = d.grantee_principal_id
left join @objects e on d.major_id = e.obj_id
order by a.name, d.class_desc')
delete @dbs where dbname = @Next
select top 1 @Next = dbname from @dbs
end
set nocount off
select @@SERVERNAME as Server_name,* from @permission
İlgili konular
- 1. Gridview verilerini CSV dosyasına dışa aktarma
- 2. Video dosyasına dışa aktarma CoreAnimation
- 3. Erişim raporu bir sözcük dosyasına dışa aktarma
- 4. Moğol veritabanı modülü dışa aktarma
- 5. Verilerle birlikte MSSQL dışa aktarma veritabanı
- 6. SQL'den CSV dosyalarını dışa aktarma Tarihler
- 7. SQLCMD.EXE kullanarak CSV verilerini dışa aktarma
- 8. CSV dışa aktarma alanında alan bölme
- 9. dışa aktarma sorgu sonucunu CSV yoluyla aktarın
- 10. Javascript veya Flash dışa aktarma CSV/Excel
- 11. CSV dışa aktarma dosyası için değiştirme değiştirme
- 12. Powershell çıktısını metin dosyasına dışa aktarma
- 13. Ruby 1.9.2 bir dosya oluşturmadan bir CSV dizesi dışa aktarma
- 14. MongoDB koleksiyonunu CSV veya XLSX'e Meteor/JavaScript ile dışa aktarma
- 15. İçe aktarma ve içe aktarma için anında bir zip dosyasına csv dosyası ekleme
- 16. Python, bir liste aktarma ve bir CSV dosyasına yazma
- 17. Dışa aktarma sütunu csv'sini dışa aktarma php-mysqli
- 18. Çekirdek Veri varlığı bir CSV dosyasına nasıl dışa aktarılır
- 19. Diziyi özel nesnelerle dışa aktarma
- 20. Windows'ta dışa aktarma sertifikası, Java kullanılarak bir p12 dosyasına aktarılır.
- 21. Düğüm dışa aktarma
- 22. Modüllerdeki dışa aktarma modülleri
- 23. PHP - CSV dışa aktarma - Sütun verisinde virgül ekle
- 24. DoCmd.TransferText ağ izinlerini kullanarak csv dosyasını MS Access'e alma
- 25. Google BigQuery'den CloudSQL'e dışa aktarma?
- 26. Json nesnesini bir metne dışa aktarma Dosya
- 27. csv dosyasına bir satır ekleyin
- 28. Bir dict dosyasına CSV dosyası
- 29. Adlandırılmış dışa aktarma ve varsayılan dışa aktarma aynı anda
- 30. Verileri dışa aktarma veya görüntülerle Word'e dışa aktarma