小编Rol*_*DBA的帖子

是否有人使用 SQL Server 功能创建按数字区分的存储过程组?

该问题是指此msdn 文档中的 number 参数

如果不这样做,您可以在 SQL-Server 中创建多个按编号区分的存储过程,然后一键删除它们。

create procedure dbo.stored_proc1 as select 1
go
create procedure dbo.stored_proc1;2 as select 2
go
exec stored_proc1
-- returns 1
go
exec stored_proc1;2
-- returns 2
go
drop stored_proc1
-- drops both 
go
Run Code Online (Sandbox Code Playgroud)

我想知道这个功能是否被任何人用于有用的东西,或者它只是一个历史性的好奇心。

sql-server stored-procedures

11
推荐指数
2
解决办法
222
查看次数

无法解释的 InnoDB 超时

我最近看到一些非常基本的更新超时,但无法确定原因。一个例子:

//# Query_time: 51 Lock_time: 0 Rows_sent: 0 Rows_examined: 0

UPDATE photos SET position = position + 1 WHERE (photo_album_id = 40470);

同一个日志没有 Lock_time > 0 的条目。运行show innodb status也不会显示任何相关的锁。根据我的应用服务器日志(显示Mysql::Error: Lock wait timeout exceeded与 mysql-slow 日志中的每个相应条目相关的错误),此问题似乎影响了至少 5 个不同的表。

知道从这里去哪里吗?我在各个方向都陷入了死胡同。谢谢。

编辑:

创建表`照片`(
  `id` int(11) NOT NULL auto_increment,
  `type` varchar(255) 非空,
  `photo_album_id` int(11) 非空,
  `user_id` int(11) 非空,
  `title` varchar(255) 默认为“无标题”,
  `描述`文本,
  `credit` varchar(255) 默认为 NULL,
  `photo_file_name` varchar(255) 默认为 NULL,
  `photo_content_type` varchar(255) 默认为 NULL,
  `photo_file_size` int(11) 默认为 NULL,
  `photo_updated_at` 日期时间默认为 …

mysql innodb query locked-objects

11
推荐指数
1
解决办法
2288
查看次数

如果 Master 离线,您如何将 Master MySQL DB 与 Slave DB 更改重新同步?

MySQL Server 1 作为主服务器运行。
MySQL Server 2 作为 Slave 运行。

两个数据库都在线时,它们处于“完美同步”状态。如果Slave下线,Master还在线没有问题;一旦 Slave 再次在线,它们将恢复同步。

除了服务器配置之外,如果主服务器脱机,我会重定向从数据库的连接(使用 JSP 代码)(我当然用 /etc/init.d/mysqld stop 进行了测试)。

当Master重新上线时,有没有自动同步Master和Slave更新的方法?

mysql replication

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

使字段唯一是否使它被索引?

如果我unique对某个字段进行约束,是否还需要在该字段上创建索引以获得可扩展的插入时间?或者这是为我完成的(即使它使用的索引不可公开访问?)

具体来说,我正在使用 Apache Derby 进行原型设计,尽管我可能会在半不久的将来将其移至 MySQL。我也希望 SQL 标准中可能有一些关于这一点的内容。

我永远不需要按这个字段搜索,所以我宁愿不做一个无用的索引。但我宁愿有一个无用的索引,也不愿有一个O(n)插入时间。

mysql constraint derby unique-constraint

11
推荐指数
1
解决办法
8512
查看次数

XtraBackup 和 rsync 有什么区别?

是的,我将在他们两个上运行 strace ......但是,我想知道......

  • XtraBackup 在 rsync -ac src dest 之上做了什么?
  • XtraBbackup 有什么特别之处?
  • XtraBackup 如何与 mysqld 交互?

mysql backup percona

11
推荐指数
1
解决办法
5693
查看次数

MySQL dump restore - 如何保留注释

所以我有那个复杂的 MySQL 转储作为备份。不幸的是,备份很复杂,我们使用了邪恶的触发器。

我们的一些邪恶触发器有一个以 # 字符开头的注释行。

当我备份数据库时,生成的转储会保存 # 行。问题是当我进行恢复时。以# 开头的行被替换为空行。

所以我正在寻找一种方法来恢复以英镑开头的行的转储。

mysql mysqldump backup

11
推荐指数
1
解决办法
7146
查看次数

如何通过linux终端创建mysql存储过程

在 mysql 控制台中,我们将使用 delimiter 命令来更改分隔符,这对定义过程很有用。我 delimiter只了解 mysql 客户端的命令(客户端命令)。

但我使用不具有该命令的MySQL客户端delimiter 一样dbslayer,对这种客户我该怎么定义程序。

现在考虑:

create procedure test_pro()
begin
select 'hello pro';
end
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法:

mysql -u root -pmypass  test < proc_file
Run Code Online (Sandbox Code Playgroud)

其中 proc_file 包含上述过程;

但这给了我以下错误:

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3
Run Code Online (Sandbox Code Playgroud)

事件我尝试了以下

 create procedure test_pro()
    begin
    select 'hello pro';
    end;
Run Code Online (Sandbox Code Playgroud)

(添加了尾随分号)但我得到了同样的错误。 …

mysql stored-procedures

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

在 IPv6 地址上拒绝 Postgres 连接访问

在 Windows 上安装了 PostgreSQL 9.1 x64,设置了一个监听地址,但是在与 pgAdmin 连接时出现以下错误。不知道为什么 PostgreSQL 看到的是我的 IPv6 地址而不是我的常规 IP 地址:

在此处输入图片说明

为了让身份验证工作,根据错误消息,我更新pg_hba.conf了这个:

host all all fe80::c5d2:XXXX:XXXX:3bc0/12 trust

那行得通,但它很丑陋,而且太具体了。我根据 PostgreSQL 文档尝试了以下操作,但没有成功,我收到相同的“访问被拒绝”错误:

local all all trust
host all all 0.0.0.0/12 trust
Run Code Online (Sandbox Code Playgroud)

我让这个工作了,它涵盖了整个 IPv6 地址空间,但是如何指定 IPv6 范围以获得更多限制?

host  mydb  myuser  ::/0   trust
Run Code Online (Sandbox Code Playgroud)

问题

  • 为什么 pgAdmin 选择我的 IPv6 地址而不是我的普通 IP?
  • 如何在不诉诸于 IPv6 的情况下指定范围::/0

postgresql authentication postgresql-9.1

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

SQL 代理 - PowerShell 步骤“语法错误”

我在未运行的 SQL 代理作业步骤中设置了以下代码。收到的消息很简单:

无法开始执行第 1 步(原因:第(46)行:语法错误)。步骤失败。

工作的持续时间是: 00:00:00

此脚本的第 46 行是here-string


    ,@DriveLetter = '$($c.DriveLetter)'
Run Code Online (Sandbox Code Playgroud)

此脚本在 SQL Server 代理之外完美运行。

服务器名称表:


CREATE TABLE ServerTable (
ServerName varchar(50)
)
Run Code Online (Sandbox Code Playgroud)

磁盘空间表类似于:


CREATE TABLE DiskSpace (
ID int IDENTITY(1,1),
ServerName varchar(50),
DriveLetter varchar(2),
DiskSpaceCapacityGB decimal(12,5),
DiskSpaceFreeGB decimal(12,5)
)
Run Code Online (Sandbox Code Playgroud)

PowerShell 脚本:


This command is to allow SQL Agent job to show failure in event PowerShell script errors
Default behavior in SQL Agent for PowerShell steps it 'Continue'
$erroractionpreference = "Stop"

$sqlInstance = 'server1' $sqlDatabase …

Run Code Online (Sandbox Code Playgroud)

powershell sql-server-2012 windows-server

11
推荐指数
1
解决办法
7367
查看次数

How to append value of column with double quotes (add quotes around string)

I have a table with a column that is TEXT type. In the column are numeric characters. What I'm trying to achieve is to wrap those characters in double quotes.

EXAMPLE:

NAME     ID     QTY
Apples   A1     1
Oranges  O1     1
Foo      F1     0
Run Code Online (Sandbox Code Playgroud)

IDEAL OUTPUT:

NAME     ID     QTY
Apples   A1     "1"
Oranges  O1     "1"
Foo      F1     "0"
Run Code Online (Sandbox Code Playgroud)

I attempted to run the following SELECT statement but it didn't give me the result I was expecting. Perhaps you can guide me …

mysql concat

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