当前位置: 首页>編程日記>正文

SQLEXPRESS的连接字符串

SQLEXPRESS的连接字符串

搞了一晚上的SQLEXPRESS 连接字符串....就因为一个User Instance=True 没加... 


样例

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\KWJLDatabase.mdf;Integrated Security=True;User Instance=True;


下面是来自网上的文章.

<add name="applicationServices"

connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFileName=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>

Integrated   Security默认值是False,此时需要提供Uid和Pwd,即将以Sql   Server   用户身份登陆数据库;如果设置为True,Yes   或   SSPI,这不能出现Uid和Pwd,将以Windows用户省份登陆数据库。强烈推荐用后一种形式,安全性更高。

User Instance

A value that indicates whether to redirect the connection from the default SQL Server Express instance to a runtime-initiated instance running under the account of the caller.

曾经,要运行 SQL Server 数据库,就必须在实例下创建数据库,不管是直接创建、还是附加、还是还原,总之都得在实例下创建,但这造成一个问题,我们的权限不够高,无法将数据库附加或还原到 SQL Server,我们只是有 .mdf、.ldf 文件。

从 SQL Server 2005 开始,有了新选择

在连接字符串中使用 AttachDbFilename,可直接连接到一个数据库文件。比如是这样的:

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Data.mdf;Integrated Security=True;User Instance=True

这里 User Instance 就是用户实例,为 True,表示使用用户实例。

那什么是用户实例呢?

先看看实例

SQL Server 实例是一个在服务器上运行的 SQL Server 可执行程序。每个实例都有一个名称,内存中的一个 sqlservr.exe 进程、缓冲区内存、它自己的系统数据库副本,以及它自己的一组用户数据库。例如,默认情况下,SQL Server Express 作为一个名为“SQLEXPRESS”的实例安装。通过在连接字符串中指定带有服务器名称的实例名,可以连接到已命名的实例。这就是在连接到本地 SQL Server Express 数据库时通常将“.\SQLEXPRESS”指定为服务器名的原因。点(.)意味着本地服务器,\SQLEXPRESS 指定了 SQLEXPRESS 命名实例。

再看用户实例

用户实例是对实例的扩展。用户实例与普通实例类似,但它是在需要的时候创建,而普通实例是在安装期间创建的。

  • 用户实例必须由父实例创建,所以使用用户实例时,我们也不能省略 Data Source。
  • 谁打开了数据库连接,谁就是这个用户实例的运行帐户,比如 IUSR_Cftea 运行着网站,它打开了带用户实例的数据库连接,那么这个用户实例就是以 IUSR_Cftea 运行的。

用户实例限制

  • 仅允许本地连接。
  • 不能复制用户实例。
  • 分布式查询对远程数据库不起作用。
  • 用户实例仅在 SQL Server 的 Express Edition 内运行。

更详细

以下来自 MSDN:

当打开一个 User Instance 选项为 True 的连接时会发生什么?下列步骤描述用户第一次打开一个用户实例连接时发生的情况。

  • SQLClient 逻辑打开一个到 SQL Server Express 父实例(默认情况下是 .\SQLEXPRESS)的连接。
  • SQL Server Express 检测到已经设置了 User Instance 选项且该用户没有用户实例。
  • 将 master 和 msdb 系统数据库文件复制到用户的目录下。在 Sally 的示例中,该目录为: C:\Documents and Settings\Sally\Local Settings\Application 
    Data\Microsoft\Microsoft SQL Server Data\SQLEXPRESS
    这些文件是从一个在安装父实例时创建的模板目录复制的。用户实例启动后,tempdb、日志和跟踪文件被写入这个相同的用户目录。
  • 父实例模拟正在打开该连接的 Windows 用户,并且启动一个以该用户身份运行的 sqlservr.exe 副本。系统数据库的位置作为参数传递。生成实例的名称。例如: 69651E0A-5550-46。
  • 为新实例创建一个命名管道数据库连接。该名称基于实例名。例如:
  • \\.\pipe\69651E0A-5550-46\tsql\query.
    将 AttachDBFilename 参数中指定的数据库文件附加到新实例,并用该文件的完整路径命名该文件:
  • [C:\MYDBPROJECTS\TESTVB1\TESTVB1\DATABASE1.MDF]
    命名管道的名称传回到正在打开连接的 SqlClient。
  • SqlClient 接收到该连接的名称后,关闭到父实例的连接。它使用返回的命名管道名打开一个到该用户实例的新连接。

一旦为特定用户创建了用户实例,就会保留系统数据库和命名管道。因此,在第一次连接后,后续连接就只需执行后两步操作了。

关闭到该实例的最后一个连接后,启动的 sqlservr.exe 进程还会继续运行一段时间。因此,如果打开其他连接,则不需要重新启动该进程。继续运行的时间长度是由 sp_configure 选项“用户实例超时”设置的。默认情况下,时间长度设为 60 分钟,但是您可以用 sp_configure 命令更改它。

此版本的 SQL Server 不支持用户实例登录标志

运行时可能会遇到错误“此版本的 SQL Server 不支持用户实例登录标志”,前面说了用户实例仅在 SQL Server 的 Express Edition 内运行,如果不是 Express 版本,就不能将 User Instance 设置为 True,或将其去掉。



https://www.fengoutiyan.com/post/14060.html

相关文章:

  • 两个字符串连接
  • c语言字符串的连接
  • sql 字符串
  • sqlserver连接字符串
  • 字符串连接函数strcat
  • 连接字符串
  • 字符串拼接
  • 字符串是什么
  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機