データベースをデプロイする前に必要なものはすべて、そのスクリプトに含まれます。
この例では、展開後のスクリプトにログインを追加します。データベースを展開するときにこれらは必要ないため、セキュリティ関連のすべてのコマンドを同じ場所に配置することにしました。
IF NOT EXISTS (SELECT * FROM sys.server_principals WHERE name = N'$(DefaultLogin)')
BEGIN
BEGIN TRY
CREATE LOGIN [$(DefaultLogin)] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english]
END TRY
BEGIN CATCH
-- A try-catch is needed in case a user with a different name is created for the LOGIN specified.
END CATCH
END
GO
IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N'$(DefaultLogin)')
BEGIN
BEGIN TRY
CREATE USER [$(DefaultLogin)] FOR LOGIN [$(DefaultLogin)] WITH DEFAULT_SCHEMA=[dbo]
-- The db_owner role is added to the current database.
EXEC sp_addrolemember N'db_owner', N'$(DefaultLogin)'
END TRY
BEGIN CATCH
-- A try-catch is needed in case a user with a different name is created for the LOGIN specified.
END CATCH
END
これは、展開前と展開後のリファレンスです。