小编Han*_*non的帖子

Visio 2010 和 SQL 2012 - 逆向工程

我们已升级到 SQL 2012 并尝试将我们的 Dbs 反向工程到 Visio 2010。我使用 SQL 11 驱动程序设置了连接,而 Visio 抱怨不支持该驱动程序。

有人遇到过这个吗?

database-design sql-server sql-server-2012 visio

10
推荐指数
2
解决办法
2万
查看次数

返回属性不包含特定字符的 xml 序列

考虑以下简单的 XML:

<xml>
  <customer name="Max">
    <email address="me@you.com" />
  </customer>
  <customer name="Erik">
    <email address="erik@your-mom.com" />
  </customer>
  <customer name="Brent">
    <email address="brentcom" />
  </customer>
</xml>
Run Code Online (Sandbox Code Playgroud)

我想要得到的名单<Customer>,其中序列address中的属性<email>项并没有包含@

所以,我希望输出看起来像:

<customer name="Brent">
  <email address="brentcom" />
</customer>
Run Code Online (Sandbox Code Playgroud)

麦克维

DECLARE @x XML = '<xml>
<customer name="Max"><email address="me@you.com" /></customer>
<customer name="Erik"><email address="erik@your-mom.com" /></customer>
<customer name="Brent"><email address="brentcom" /></customer>
</xml>';
Run Code Online (Sandbox Code Playgroud)

这个查询:

SELECT WithValidEmail = @x.query('/xml/customer/email[contains(@address, "@")]')
    , WithInvalidEmail = @x.query('/xml/customer/email[contains(@address, "@")] = False');
Run Code Online (Sandbox Code Playgroud)

返回:

????????????????????????????????????????????????????????????
?            WithValidEmail             ? WithInvalidEmail ? …
Run Code Online (Sandbox Code Playgroud)

xml sql-server xquery

10
推荐指数
1
解决办法
2706
查看次数

如何在phpMyAdmin中显示数据库结构?

有什么方法可以使用 phpMyAdmin 生成我的数据库结构报告?我想要的是如下表格式和实体关系表。

Table name: List
Description: Subscriber list information 

Field           Type        Null        Description
ListID          Int         N   
ListName        Varchar     N   
ListFromName    Varchar     N           Default person represent for the mail
ListReplyTo     Varchar     N           Default return address
ListSubject     Varchar     N           Default subject title of mail
ListRemindSub   Int         N           Whether notify when people subscribe
ListRemindUnSub Int         N           Whether notify when people unsubscribe
ListCreateDate  Date        N   


Table name: Campaign
Description: Mail campaign information

Field           Type        Null        Description
CampID          Int         N   
CampReplyTo     Varchar     N           Specific …
Run Code Online (Sandbox Code Playgroud)

mysql phpmyadmin

9
推荐指数
2
解决办法
8万
查看次数

SSRS 查询时是否锁定表?

我的高级 DBA 告诉我,默认情况下 SQL 查询执行不会锁定表。

我的 SQL Server Reporting Services (SSRS) 报告出现了一些问题,似乎在锁定和出现一些错误方面遇到了一些问题。

我做了一些谷歌搜索,但没有找到任何东西。

SSRS 报告是否锁定正在查询的表?

是否有任何 MSDN 文档专门记录了这种行为?

sql-server-2008 locking

9
推荐指数
1
解决办法
5042
查看次数

将 Oracle 角色映射到 Active Directory 组?

是否有任何内置方法将 Oracle 数据库角色映射到 Microsoft Active Directory 组?

oracle security role

9
推荐指数
1
解决办法
1949
查看次数

在 SQLCMD 中执行从 SSMS 生成的 TSQL 脚本。报价失败

我试图通过执行 SQL Server Management Studio 中的“生成脚本”工具生成的脚本将数据库部署到机器上。

这是我发出的命令:

sqlcmd -S LOCALHOST\sqlexpress -I -U user -P ******** -i 
    C:\Rollouts\NI-9-25-2012_10-42-AM\Rollout.sql > rolloutlog.txt
Run Code Online (Sandbox Code Playgroud)

我收到这样的错误:

Sqlcmd: 错误: 文件'C:\Rollouts\ NI-9-25-2012_10-42-AM\Rollout.sql'中命令'''附近的第39488行语法错误。

当我使用文本编辑器查看此行时,所有迹象都指向一个带引号的问题。

有问题的行看起来像这样:

$(''.cat-menu-new'').slideDown(''慢'');

是否有我应该执行或生成脚本以支持脚本中的引号的开关?

sql-server-2008 ssms scripting sqlcmd

9
推荐指数
1
解决办法
2713
查看次数

mysql.proc 不断崩溃,无法执行 mysqldump?

由于 InnoDB 的一些问题,我将所有数据库转储到新服务器:

mysqldump -E -R --all-databases | pv -b | mysql -u root -p -h new.server          
Run Code Online (Sandbox Code Playgroud)

转储过程因错误而停止:

59.9kB assword: 59.9kB 
ERROR 145 (HY000) at line 2970: Table './mysql/proc' is marked as crashed and should 
    be repaired
 228MB 
mysqldump: Got errno 32 on write
Run Code Online (Sandbox Code Playgroud)

我运行了以下命令来修复所有数据库中的所有表:

mysqlcheck --auto-repair --all-databases
Run Code Online (Sandbox Code Playgroud)

当我检查mysql.proc状态时,我得到:

mysql> check table mysql.proc;
+------------+-------+----------+----------+
| Table      | Op    | Msg_type | Msg_text |
+------------+-------+----------+----------+
| mysql.proc | check | status   | OK       |
+------------+-------+----------+----------+
1 row in set …
Run Code Online (Sandbox Code Playgroud)

mysql mysqldump stored-procedures crash

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

如何编写引用链接服务器的可移植 SQL?

我有一个指向链接服务器的存储过程。在整个过程中的几个地方,我得到了如下内容:

INSERT INTO [TableName]
(...Columns...)
SELECT ...Columns...
FROM [ServerName\InstanceName].[Catalogue].[dbo].[TableName]
WHERE TableNameID = @TableNameID
Run Code Online (Sandbox Code Playgroud)

这个过程存在于我的开发环境、测试环境和实时环境中。

问题是该过程的每个副本都略有不同,因为每个环境的服务器名称都不同。这使得管理脚本更新的部署变得很麻烦。

有没有办法使程序可移植,以便每个环境都可以运行相同版本的程序?

如果没有,我可以做些什么来使脚本部署更不容易出错/错误?

sql-server-2008 sql-server stored-procedures linked-server

9
推荐指数
1
解决办法
5103
查看次数

TempDB 中的损坏分区如何导致 DBCC CHECKDB 报告没有问题?

我们的其中一台 SQL Server 最近报告了以下错误:

DATE/TIME:  2/25/2013 9:15:14 PM

DESCRIPTION:    No catalog entry found for partition ID 9079262474267394048
     in database 2. The metadata is inconsistent. Run DBCC CHECKDB to check for
     a metadata corruption.
Run Code Online (Sandbox Code Playgroud)

不到 15 分钟后,我连接到服务器并运行:

SELECT name
FROM sys.databases
WHERE database_id = 2;
Run Code Online (Sandbox Code Playgroud)

返回'tempdb'。然后我跑了:

DBCC CHECKDB ('tempdb') WITH NO_INFOMSGS, TABLERESULTS;
Run Code Online (Sandbox Code Playgroud)

没有返回任何结果,表明受影响的数据库没有问题。

数据库中的损坏如何导致上述错误消息DBCC CHECKDB但未报告问题?我假设如果页面校验和计算失败,导致页面被标记为怀疑引用该页面的任何对象将无法删除,但我一定是错的。

一旦页面被标记为“可疑”,如何将其标记为“不可疑”、“已修复”或“重用”,或者DBCC CHECKDB不报告相关页面有任何问题的任何内容?


编辑:2013-02-27 13:24

只是为了好玩,我试图在 TempDB 中重新创建损坏,假设 #temp 表是罪魁祸首。

但是,由于我无法SINGLE_USER在 TempDB 中设置该选项,因此无法用于DBCC WRITEPAGE损坏页面,因此我无法在 TempDB 中强制损坏。

而不是使用DBCC WRITEPAGE …

sql-server sql-server-2012 tempdb dbcc-checkdb

9
推荐指数
3
解决办法
8334
查看次数

如何确定哪些表导致数据库随着时间的推移而增长?

我在 SQL Server 2008 中有一个一直在增长的数据库,我想知道哪些表在过去 6 个月中增长最快。

sql-server-2008 sql-server

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