You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server中含方括号的数据库无法连接,求正确语法

解决SQL Server含特殊字符数据库的连接问题

你的所有尝试语法都存在错误,正确的连接方式是用双重方括号转义数据库名中的方括号:

use [[[]my[]]database]

原因说明:

在SQL Server中,当标识符(比如数据库名、表名)包含方括号这类特殊字符时,必须用方括号包裹标识符,同时标识符内部的每个[需要替换为[[,每个]替换为]]。你的数据库名是[]my[]database,拆分转义后外层再套方括号,就得到上述正确语句。

其他尝试的错误点:

  • use []my[]database:未转义内部方括号,SQL Server会将[]识别为空标识符,解析失败
  • use "[]my[]database":SQL Server默认不把双引号作为标识符包裹符(即使开启QUOTED_IDENTIFIER,双引号内的方括号也不会被转义)
  • use "\[]my\[]database":反斜杠不是SQL Server的转义字符,无意义
  • use QUOTENAME("[]my[]database"):QUOTENAME是函数,不能直接跟在USE后,需通过动态SQL调用:
    DECLARE @dbName NVARCHAR(128) = QUOTENAME('[]my[]database')
    EXEC('USE ' + @dbName)
    
  • use [[]]my[]]database]:转义格式错误,未正确对应每个内部方括号的转义规则,导致标识符与实际数据库名不匹配

内容的提问来源于stack exchange,提问作者Sriram

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 06:08:15