小编Ant*_*lev的帖子

T-SQL 脚本中的动态数据库引用

我们有一组数据库(开发、QA 和生产,分别是dev-foo& dev-barqa-foo&qa-bar和 just foo& bar)。

foo数据库系列中,有一个视图应该使用各自的bar数据库进行跨数据库连接。换句话说,

select f.*, b.* from foo f inner join <bar-db>.dbo.bar b on f.barid = b.id
Run Code Online (Sandbox Code Playgroud)

问题是:有什么办法可以让我编写一次这个脚本,然后有一个数据库级变量<bar-db>指向一个适当的bar数据库“实例” ?

t-sql

6
推荐指数
1
解决办法
2901
查看次数

T-SQL:将 XML 转换为没有自闭合标签的字符串

我们有一个奇怪的系统,我们正在与之集成,它使用 XML,但它理解自闭合标签,所以

<BOOKING>
  <BOOKINGID>56812</BOOKINGID>
  <PERSONCODE />
</BOOKING>
Run Code Online (Sandbox Code Playgroud)

超出了它的能力。

如果我拥有的是declare @x xml,我如何将其转换@x为字符串而没有自关闭标签:

<BOOKING>
  <BOOKINGID>56812</BOOKINGID>
  <PERSONCODE></PERSONCODE>
</BOOKING>
Run Code Online (Sandbox Code Playgroud)

xml sql-server t-sql

5
推荐指数
1
解决办法
8970
查看次数

SQL Server:带覆盖的简单数据库还原

我想要做的是备份我们的生产数据库之一并将它们恢复为我们的开发数据库(覆盖那里的内容)。

这就是我备份的方式:

backup database [authfx] to disk = N'f:\db_backups\authfx\authfx-latest.bak' 
  with
    noformat, 
    init, 
    name = N'authfx Latest Full Database Backup', 
    skip, 
    norewind, 
    nounload, 
    stats = 1;
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试恢复其他使用数据库

restore database [dev-authfx] from disk = N'f:\db_backups\authfx\authfx-latest.bak' 
  with 
    file = 1, 
    nounload, 
    replace, 
    stats = 1;
Run Code Online (Sandbox Code Playgroud)

它到处吠叫:

Msg 1834, Level 16, State 1, Line 10
The file 'E:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\authfx.mdf' cannot be overwritten.  It is being used by database 'authfx'.
Msg 3156, Level 16, State 4, Line 10
File 'authfx' cannot …
Run Code Online (Sandbox Code Playgroud)

sql-server backup restore

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

sql-server ×2

t-sql ×2

backup ×1

restore ×1

xml ×1