在數(shù)據(jù)庫(kù)‘master’中拒絕CREATE DATABASE權(quán)限問(wèn)題的解決方法

今天使用Linq To SQL,要求判斷數(shù)據(jù)庫(kù)是否存在,不存在是自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)。

代碼如下:
public partial class CMS_DBDataContext
{
partial void OnCreated()
{
// 如果數(shù)據(jù)庫(kù)不存在則創(chuàng)建數(shù)據(jù)庫(kù)
if (!this.DatabaseExists())
{
this.CreateDatabase();
}
}
}

遇到了以下錯(cuò)誤:在數(shù)據(jù)庫(kù)‘master’中拒絕CREATE DATABASE權(quán)限。

經(jīng)查閱資料得知,運(yùn)行 SQL Server 數(shù)據(jù)庫(kù),就必須在實(shí)例下創(chuàng)建數(shù)據(jù)庫(kù),不管是直接創(chuàng)建、還是附加、還是還原,總之都得在實(shí)例下創(chuàng)建。

于是,修改連接字符串,

添加User Instance=True,即可使用實(shí)例成功創(chuàng)建數(shù)據(jù)庫(kù)。

解決方法二:

為相應(yīng)登陸數(shù)據(jù)庫(kù)的用戶分配數(shù)據(jù)庫(kù)管理員角色,也可以解決這個(gè)錯(cuò)誤。如在ASP.NET中,NETWORK SERVICE用戶會(huì)訪問(wèn)數(shù)據(jù)庫(kù),可將此用戶的數(shù)據(jù)庫(kù)角色設(shè)置為數(shù)據(jù)庫(kù)管理員角色??傊WC登陸的用戶有權(quán)創(chuàng)建,修改或刪除數(shù)據(jù)庫(kù)即可。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊11 分享