设计要在共享托管环境中使用的SQL Server数据库

时间:2011-04-14 21:42:47

标签: asp.net sql sql-server sql-server-2008 shared-hosting

我总是亲自使用专用服务器和VPS,因此我可以完全控制我的SQL Server(使用2008 R2)。现在我正在开发一个可以部署在我很少有经验的共享托管环境中的asp.net项目。我的问题是我可以在共享环境中使用的SQL Server功能有限制吗?

例如,如果我设计我的数据库以使用视图,存储过程,用户定义的函数和触发器,我的最终用户是否能够在共享主机中使用它们?主机通常是否提供对这些的访问并且难以使用?

如果是这样,我认为主持人会向用户提供他的登录信息,他可以使用像管理工作室这样的工具在他自己的数据库中运行,就好像它是他自己的服务器一样?如果我提供脚本来安装这些脚本,它们是否会在他的数据库中运行用户的凭证?

2 个答案:

答案 0 :(得分:1)

所有数据库对象都可用。它包括表,视图,sp,函数,密钥,证书......

通常CLR和FTS被禁用。

最后,您将无法访问大多数服务器对象(登录,服务器触发器,备份设备,链接服务器等...)

SQL Mail,Reporting Services也经常被关闭。

答案 1 :(得分:0)

取决于其他用户如何通过数据库进行身份验证,如果它是所有用户的共享数据库。

如果主机上的每个用户都会收到它自己的db: 如果您的脚本是以通用方式编写的(例如,在这种情况下不绑定到固定用户名),则其他用户将能够在其数据库上执行它们并具有相同的功能。 (二次单击数据库并选择任务 - >备份例如)

您还可以提供新安装数据库的简单纯备份转储,因此对于其他用户,只需单击一下即可进行设置。同样从一开始,您应该考虑如何推出需要影响每个用户的更改。 一种可能的方法是始终提供增量脚本,无论您是修补错误还是添加新内容。