Table des matières
Générer du code pour supprimer les clés étrangères
SELECT 'ALTER TABLE ' + kcu.CONSTRAINT_SCHEMA + '.' + kcu.TABLE_NAME + ' DROP CONSTRAINT ' + kcu.CONSTRAINT_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu JOIN INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc ON kcu.CONSTRAINT_NAME = rc.CONSTRAINT_NAME
ou
SELECT 'ALTER TABLE ['+TABLE_SCHEMA+'].['+TABLE_NAME+'] DROP CONSTRAINT [' + CONSTRAINT_NAME + ']' FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE CONSTRAINT_TYPE = 'FOREIGN KEY'
Donner un privilège d'exécution à toutes les sp
Le but est d'attribuer les privilège d'execute sur toutes les procédures, à un rôle. En utilisant SSMS (même pour l'administration de SQL Server 2000), on peut en plus profiter de SQLCMD pour le faire sur la même base sur plusieurs serveurs, en utilisant :connect.
:connect servername -U login -P password USE mydatabase DECLARE @sql varchar(8000) SET @sql = '' SELECT @sql = @sql + 'GRANT EXEC ON [' + ROUTINE_SCHEMA + '].[' + SPECIFIC_NAME + '] TO myrole; ' FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE' EXEC (@sql) GO
scripter les privilèges d'un objet
CREATE TABLE #grant (Owner sysname, Object sysname, Grantee sysname, Grantor sysname, ProtectType sysname, Action sysname, Col sysname) INSERT INTO #grant EXEC sp_helprotect 'dbo.myStoredProcedure' SELECT 'GRANT ' + Action + ' ON ' + Object + ' TO ' + Grantee FROM #grant DROP TABLE #grant
sql_server/snippets/administration/generation.txt · Dernière modification: 2007/10/13 09:44 (édition externe)



