Questions tagged «sql»

用于在关系数据库管理系统(RDBMS)中管理数据的数据库语言。请注意,每个数据库实现的SQL都略有不同。请记住也标记您的特定数据库,例如[mysql],[postgres],[mssql]或[oracle]。

9
如何将Microsoft SQL Server数据库转储到SQL脚本?
有什么方法可以将Microsoft SQL Server数据库导出到sql脚本? 我正在寻找一种行为类似于mysqldump的东西,使用一个数据库名称,并生成一个脚本来重新创建所有表,存储过程,重新插入所有数据等。 我已经看过http://vyaskn.tripod.com/code.htm#inserts,但是理想情况下,我希望有一些东西可以重新创建所有内容(而不仅仅是数据),而这些步骤可以一步一步生成最终的脚本。



2
Postgresql:授予数据库上的所有特权有什么作用?
我试图将给定数据库的所有表上的所有特权授予新的postgres用户(而不是所有者)。似乎GRANT ALL PRIVILEGES ON DATABASE my_db TO new_user;没有做到这一点。成功运行上述命令后(以postgres用户身份),我以new_user身份获得以下内容: $ psql -d my_db my_db => SELECT * FROM a_table_in_my_db; ERROR: permission denied for relation a_table_in_my_db 两个问题: 1)如果不授予my_db上所有表的所有权限,那么上面的命令会做什么? 2)向用户授予对所有表的所有权限的正确方法是什么?(包括将来创建的所有表)

2
Postgres:执行SQL文件时非零退出代码?
我正在写一个shell脚本,它使用2种形式来调用psql ...一种是通过命令(-c),另一种是通过文件(-f)。 例如psql -c“创建表foo(条整数)” psql -f foobar.sql 这些形式之间的区别是,如果遇到错误,按命令(-c)调用将返回非零退出代码,而按文件(-f)的调用似乎总是返回零。 我想知道是否有针对此行为的解决方法?(即,如果在执行文件时发生错误,则返回非零值)。 谢谢。

9
为了提高SQL性能,为什么不仅仅放置大量RAM而不是拥有更快的硬盘?
人们不断告诉我,为了提高SQL Server的性能,请使用RAID 5等来购买最快的硬盘。 所以我在想,为什么不花所有的钱购买RAID 5和超级双倍速硬盘(顺便说这并不便宜),为什么不仅仅获得数吨的RAM?我们知道,SQL Server将数据库加载到内存中。内存比任何硬盘都要快。 为什么不在服务器上填充100 GB的RAM?然后,仅使用带有RAID 1的常规SCSI硬盘。这会便宜又快吗?


26
关于网络的最常见误解[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为服务器故障的主题。 7年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 00000001 + 00000001 = 00000011 替代文字http://locobox.googlepages.com/red_x_round.png 对网络的误解* 是时候动脑了!...“在某个时候”,您以为自己知道一些事情,由于对这个问题的误解,它最终是不正确的,或者是不完全正确的。 让我们为新手,甚至一些经验丰富的IT管理员列出一个关于网络的流行误解的好清单。我的希望是建立一个非常有用的人才库,为社区成员提供良好的资源。 我将从一个非常明显的例子开始(投票最多的项目将排在最前面): 所有以169开头的地址都来自APIPA故障转移系统 当操作系统找不到网络接口的分配地址时,仅169.254.0.0/16保留用于APIPA分配(read:rfc3927)。 ***** 不要误以为“系统管理员的错误”
26 networking  wiki  sql 

1
如何验证SQLite db3文件有效/一致
我有一些sqlite version3 db3文件,出于各种原因,我从一个正在运行的生产系统(我知道sysadmin不好,sysadmin不好)中复制了这些文件。我是否可以运行一些sqlite命令,以验证是否可以从这些文件中读取所有数据(我不介意是否需要一段时间)。 我正在考虑破解一些perl,将所有数据转储出去,然后将其重新导入到新文件中。我认为,如果sqlite遇到损坏的数据,它将抛出异常。有没有更好的办法? 我是CentOS 5.3和sqlite-3.3.6-2
24 linux  database  sql  sqlite 


5
在SQL Server中还原数据库时无法覆盖mdf文件
此问题已从堆栈溢出迁移,因为可以在服务器故障时回答。 迁移 8年前。 我有一个数据库b。其中有一些数据。我为A创建了一个备份作为A.bak文件。然后,我创建了一个新的空数据库B.然后我尝试从恢复乙A.bak。但是SQL Server告诉我以下错误: 无法覆盖文件“ C:\ SQL Directory \ DATA \ A.mdf”。数据库“ A”正在使用它。 但是,如果我从SQL Server删除A,重做就可以了。 我不明白为什么在从单独的备份文件还原时SQL需要写入原始数据库文件? 谢谢〜
21 sql  sql-server 

8
SQL Server 2008 Express-“最佳”备份解决方案?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 使用SQL Server 2008 Express时,您会建议哪些备份解决方案?我对SQL Server还是很陌生,但是由于我来自MySQL背景,因此我想到了在另一台计算机上设置复制并只对该服务器进行Xcopy备份的想法。 但是不幸的是,Express Edition中没有复制功能。 该站点的访问量很高,因此没有延迟和停机时间。我还考虑每天进行两次备份。 你会推荐什么?我可以使用多台计算机,但是由于使用Express版本,因此我不知道是否对我有帮助。

4
在MySQL所有表的所有列中更改字符集和排序规则
我需要在所有表的所有列中执行这些语句。 alter table table_name charset=utf8; alter table table_name alter column column_name charset=utf8; 是否可以在MySQL内部以任何方式自动执行此操作?我宁愿避免mysqldump 更新:理查德·布罗诺斯基向我展示了方式:-) 我需要在每个表中执行的查询: alter table DBname.DBfield CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; 疯狂查询以生成所有其他查询: SELECT distinct CONCAT( 'alter table ', TABLE_SCHEMA, '.', TABLE_NAME, ' CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;' ) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'DBname'; …
18 mysql  automation  sql 

6
如何更改SQL Server数据库的排序规则?
我正在尝试在一个归类-Latin1_General_CI_AS(标准归类)上标准化所有数据库。我有一些SQL_Latin1_General_CP1_CI_AS中的数据库。 我知道我可以使用ALTER DATABASE更改数据库排序规则,但这只会影响新对象。我的理解是,更改现有列的唯一方法是在每个表的每个列上执行ALTER COLUMN-我需要删除并重新创建所有索引才能做到这一点。 我想它看起来像这样: DROP INDEX indexname ON tablename GO ALTER TABLE tablename ALTER COLUMN columname varchar(50) COLLATE Latin1_General_CI_AS NULL GO CREATE CLUSTERED INDEX indexname ON tablename (columname ASC) 并对整个数据库中的每个varchar,char,text,nvarchar,nchar和ntext列重复一次。那将是一个巨大的 SQL脚本。 有没有更简单的方法可以执行此操作,或者有人可以建议自动创建SQL脚本的方法吗?


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.