sql - 从 PowerShell 命令执行 SQL 时如何参数化登录
问题描述
我们如何CREATE LOGIN ...
针对变量字符串运行?
我正在执行以下命令:
Invoke-Sqlcmd -ServerInstance $ServerInstance -Database 'master' -Username $DBAdminAccount -Password $DBAdminPassword -Variable $SqlVariables -InputFile $ArtifactStagingDirectory\MasterDBSetup.sql
MasterDBSetup.sql:
....
IF NOT EXISTS (SELECT name FROM sys.sql_logins WHERE name = '$(SvcRRRComparisonUser)')
BEGIN
CREATE LOGIN '$(SvcRRRComparisonUser)' WITH PASSWORD = '$(RRRComparisonUserPassword)'
END
....
我们如何CREATE LOGIN ...
对抗$(SvcRRRComparisonUser)
?
解决方案
在$SqlVariables
:
$SqlVariables = @("SvcRRRComparisonUser='user1',RRRComparisonUserPassword='pass1'")
然后在 SQL 文件中:
IF NOT EXISTS (SELECT name FROM sys.sql_logins WHERE name = $(SvcRRRComparisonUser)
BEGIN
CREATE LOGIN $(SvcRRRComparisonUser) WITH PASSWORD = $(RRRComparisonUserPassword)
END
推荐阅读
- angular - 将数据从服务传递到父组件,然后从父组件传递到子组件
- android - Firebase 无法写入数据库且没有错误
- php - Prestashop 1.7 注册 smarty 相关产品标签
- bash - 无效字符串:必须使用 Bash 转义从 U+0000 到 U+001F 的控制字符?
- c# - How to apply styles in word while inserting WordMl in VSTO?
- python - 如何在scrapy中以不同的时间抓取多个网站
- php - echo中的PHP变量变量值
- postgresql - 使用基于多个连接的原则创建多个数据库
- javascript - 通过javascript中的另一个对象数组对对象数组进行排序
- reactjs - 重复标识符“LibraryManagedAttributes”