我已将现有SQL Server 2008数据库导入Visual Studio 2008数据库项目,版本控制数据库对象并执行数据库代码迁移。这很好用,我可以构建和部署到dev,test,staging,live等。
现在我想在现有的数据库项目中添加一个新的存储过程(带有grant语句),看不到理想的方法吗?我可以: -
使用grant语句向现有Visual Studio 2008数据库项目添加新存储过程的首选方法是什么?
答案 0 :(得分:1)
我的理解是,权限的首选位置是Database.sqlpermissions文件。使用恕我直言可能会很痛苦,因为它迫使您从使用GRANT EXECUTE ON OBJECT的传统语法切换到使用XML。 IntelliSense可以更容易地在文件中获得正确的语法,但它不像自己编写语句,甚至在SSMS中使用GUI那样容易。
除了语法差异之外,我不喜欢这里关注点分离的最大原因是很难看出对象在Database.sqlpermissions文件中是否有关联的grant语句。也许在Visual Studio中有一种方法,我还没有看到它,但是能够查看项目中对象的属性并查看对象的权限列表会很好 - 类似于SSMS。 (如果有人知道如何在VS内做这个,请告诉我!)