数据库管理员

希望提高数据库技能并向社区中的其他人学习的数据库专业人员的问答


1
服务器并发truncate命令崩溃后,MySQL INNODB损坏
我认为我的服务器今天崩溃了,原因是我们的一个INNODB表上有一个并发的truncate table命令。服务器可以重新启动,但是在启动之后,每次我尝试发出SQL命令时,都会出现以下错误: ERROR 2006 (HY000): MySQL server has gone away 这是在日志中发生的事情: 121206 01:11:12 mysqld restarted 121206 1:11:13 InnoDB: Started; log sequence number 275 559321759 InnoDB: !!! innodb_force_recovery is set to 1 !!! 121206 1:11:13 [Note] /usr/libexec/mysqld: ready for connections. Version: '5.0.95-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 Source distribution InnoDB: Error: trying …

2
SQL Server文件表文档属性
我正在使用SQL Server 2012的Filetable来存储文档并使用Semantic Search进行搜索。 我想知道是否有办法列出所有文档属性(元数据)。有一种方法可以让“全文搜索”建立索引并搜索文档属性。我可以使用以下语句列出SQL Server索引的属性: SELECT * FROM sys.registered_search_properties; 我也可以使用SQL或使用程序来扩展此列表。 我没有找到列出实际信息的方法。我正在寻找的是一个像这样的列表: 作者:Ruud van de Beeten 标题: 测试文件 自定义属性:自定义值 谁能指出我正确的方向? 编辑:Bob Beauchemin创建了一张票,描述了我的问题。由于DMV未列出属性值,因此无法在项目中使用它。 我最终使用C#列出了OleDocumentProperties对象的自定义属性。该对象可以从Office文档中读取属性。我将继续关注这个问题,以期寻求更好的解决方案。

1
可用性组可以提供无缝的故障转移(没有查询失败)吗?
我一直在测试SQL Server 2012中的“可用性组”功能,发现主服务器故障转移到辅助服务器时大约有15秒的停机时间。在此期间执行的所有SQL查询都将失败,直到完成故障转移转换为止。 有什么办法可以将其降低到0秒并防止在故障转移过渡期间查询失败? 换句话说,是否有一种方法可以使故障期间运行的所有查询都重定向到主服务器而不是失败...,并且有任何方法可以使新的数据库连接立即连接到辅助服务器,而不会失败在故障转移过渡期间连接? 我目前在可用性组中设置了2台服务器。

3
恢复备份失败-无法将文件'Db'恢复到'{…} .mdf'。使用WITH MOVE标识文件的有效位置
我在从客户收到的备份文件上尝试使用restore命令进行还原时遇到以下错误。 从磁盘还原数据库SFDB = N'C:\ Backup \ Backup.bak' 我有什么想法可以纠正这个问题?它正在寻找mdf,所以我可以假定我拥有的备份文件是增量备份,而不是完整备份,这就是为什么它在寻找mdf? 我不确定1)他们是否提供了所有数据(整个数据库),或者2)我是否拥有正确的数据-我可以使用正确的T-SQL命令进行还原-我只是不知道该怎么做。 感谢帮助。 Msg 5133, Level 16, State 1, Line 2 Directory lookup for the file "D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\Db.mdf" failed with the operating system error 21(failed to retrieve text for this error. Reason: 15105). Msg 3156, Level 16, State 3, Line 2 …

2
如何编写引用链接服务器的可移植SQL?
我有一个引用链接服务器的存储过程。在整个过程的几个地方,我都有类似以下内容: INSERT INTO [TableName] (...Columns...) SELECT ...Columns... FROM [ServerName\InstanceName].[Catalogue].[dbo].[TableName] WHERE TableNameID = @TableNameID 此过程存在于我的开发环境,测试环境和实时环境中。 问题在于该过程的每个副本都略有不同,因为每个环境的服务器名称都不同。这使得管理脚本更新的部署很麻烦。 有没有办法使该过程具有可移植性,以便每个环境都可以运行该过程的相同版本? 如果没有,我是否可以做些什么来使脚本部署不易出现错误/错误?

4
什么可以加快SQL计数查询的速度?
在进行计数(总计)SQL查询时,什么可以加快这3个数据库系统的执行时间?我敢肯定,有很多事情可以加快它的速度(硬件就是其中之一),但是我只是DBA的新手,所以我确定我会在这里得到一些答案。我将大约1.57亿行迁移到了SQL Server数据库,而这种查询将永远持续下去。但是在我的源Netezza数据库中,它需要几秒钟。 例如: Netezza 6: SELECT COUNT(*) FROM DATABASENAME..MYTABLE Oracle 11g: SELECT COUNT(*) FROM MYTABLE SQL Server 2012: SELECT COUNT(*) FROM DATABASENAME.[dbo].[MYTABLE]

2
mysql.proc不断崩溃,无法执行mysqldump吗?
由于InnoDB的某些问题,我将所有数据库转储到新服务器上: mysqldump -E -R --all-databases | pv -b | mysql -u root -p -h new.server 转储过程因错误而停止: 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 我运行了以下命令来修复所有数据库中的所有表: mysqlcheck --auto-repair --all-databases 当我检查mysql.proc状态时,会得到: mysql> check table …

2
如何在不等待结果的情况下从psql执行查询?
我的查询(从现有表创建新表)需要很长时间。因此,我在办公室中建立了一个远程数据库-那里有更多RAM。 我可以像往常一样使用psql从家里连接到数据库。 如何告诉远程服务器从终端执行我的查询而不必等待响应? (postgresql-9.2,Linux环境) 编辑:我愿意接受其他解决方案,没有必要使用psql

1
使用多个数据库?
在Linux上使用sqlite3,如何使用多个数据库? 我想在数据库1中执行以下操作? sqlite3 database1.db insert into database1.mytable values (select * from database2.mytable) 如何SELECT为上面的database2 编写查询?
9 sqlite 

1
在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 我收到这样的错误: Sqlcmd:错误:文件'C:\ Rollouts \ NI-9-25-2012_10-42-AM \ Rollout.sql'中命令'''附近第39488行的语法错误。 当我使用文本编辑器查看此行时,所有符号都指向带引号的问题。 有问题的行如下所示: $(''。cat-menu-new'')。slideDown(''slow''); 是否应该执行或生成脚本以支持脚本中的引号的开关?

1
MySQL:在内部查询中使用“ ORDER BY”优化UNION
我只是建立了一个由多个具有相同布局的表组成的日志系统。 每个数据源都有一个表。 对于日志查看器,我想 UNION所有日志表, 通过帐户过滤它们, 添加一个伪列以标识源, 按照时间排序他们, 并限制它们的分页。 所有表都包含一个称为zeitpunkt索引日期/时间列的字段。 我的第一次尝试是: (SELECT l.id, l.account_id, l.vnum, l.count, l.preis, l.zeitpunkt AS zeit, 'hp' AS source FROM is_log AS l WHERE l.account_id = 730) UNION (SELECT l.id, l.account_id, l.vnum, l.count, l.preis, l.zeitpunkt, 'ig' AS source FROM ig_is_log AS l WHERE l.account_id = 730) ORDER …


1
在SSD上将SQL Server 2012中的tempdb,mdf和ldf文件最佳放置?
我意识到这可能是一个非常开放的问题,答案可能会有所不同,但是在谈论SSD时,SQL Server 2012中的tempdb,mdf和ldf文件的最佳位置是什么? 在购买新产品之前,我有一个装有SQL Server 2012核心文件和tempdb的现有SSD,并且两个mdf / ldf都安装在7200rpm HDD上。然后,我购买了2个SSD,其初衷是将mdf放在另一个上,并将ldf放在另一个上。 但是,从更多内容来看,涉及SSD的mdf和ldf文件的单独物理磁盘实际上并不适用。正确? 所以,我在想以下几点: SSD 1-SQL Server 2012核心文件和Windows SSD 2-tempdb SSD 3-MDF和LDF 如果有所作为,它将只用于一个数据库,因此多个数据库之间不会有任何争用。 我的“思维”设置好还是只是浪费(即没有理由分开tempdb),而现在我有了一个额外的SSD可以在其他地方使用?

4
PostgreSQL:更改用户密码无效
我安装PostgreSQL在EC2计算机上,现在我想更改用户密码postgres 我做 $ sudo -u postgres psql psql (9.1.5) Type "help" for help. postgres=# ALTER USER postgres WITH PASSWORD 'newpasswd'; ALTER ROLE 然后我退出外壳并尝试使用新密码登录 $ psql -U postgres -W Password for user postgres: psql: FATAL: Peer authentication failed for user "postgres" 我的PostgreSQL版本是 $ psql --version psql (PostgreSQL) 9.1.5 contains support for …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.