很多时候我在处理 SQL Server 时需要编写如下内容。
create table #table_name
(
column1 int,
column2 varchar(200)
...
)
insert into #table_name
execute some_stored_procedure;
Run Code Online (Sandbox Code Playgroud)
但是,创建一个具有作为存储过程结果的精确语法的表是一项繁琐的任务。例如,sp_helppublication的结果有 48 列!我想知道是否有任何简单的方法可以做到这一点。
谢谢。
我使用 root 帐户创建的帐户'a'@'%'。但是我在指定host参数时无法使用该帐户连接到MySQL服务器。我可以不带-h参数成功连接。请看下面的文字记录。我希望有人能帮我解释一下。谢谢。
mysql> grant all on *.* to 'a'@'%' identified by a;
ERROR 1064 (42000): 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 'a' at line 1
mysql> grant all on *.* to 'a'@'%' identified by 'a';
Query OK, 0 rows affected (0.00 sec)
mysql> show grants for 'a'@'%';
+-----------------------------------------------------------------------------------------------------------+
| Grants for a@% |
+-----------------------------------------------------------------------------------------------------------+
| GRANT …Run Code Online (Sandbox Code Playgroud) 这是SQL Server 的文档中讲的ROLLBACK语句。在该页面上,它声明其语法如下:
ROLLBACK { TRAN | TRANSACTION }
[ transaction_name | @tran_name_variable
| savepoint_name | @savepoint_variable ]
[ ; ]
Run Code Online (Sandbox Code Playgroud)
显然方括号内的内容是可选的,似乎您应该从TRAN或 中选择一个TRASACTION。但实际上,您可以完全省略两者,并且ROLLBACK是一个完全有效的语句。这是错误还是故意的?
v$视图与其dba_等价物之间的一般区别是什么?举个例子来说,v$tablespace和dba_tablespaces。
我注意到Oracle数据库下载页面有两组客户端供用户下载。有一种叫做“客户端”的东西,有 32 位版本和 64 位版本。此外,还有一种叫做“client home”的东西,它也有 32 位和 64 位版本。它们之间有什么区别?我什么时候应该使用哪个?
以下文字摘自 oracle 文档。
启动实例,并挂载和打开数据库。这可以在无限制模式下完成,允许所有用户访问,或在限制模式下,仅允许数据库管理员访问。
....
要将数据库挂载到先前启动但未打开的实例,请使用 SQL 语句 ALTER DATABASE 和 MOUNT 子句,如下所示:
更改数据库挂载;
您可以直接从http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/start.htm阅读
第一部分给我的印象是我们正在将实例安装到数据库。但是这To mount a database to a previously started, but not opened instance部分给我的印象是我们正在将数据库安装到实例。
哪一种理解是对的?任何人都可以帮忙解释一下吗?
谢谢
在Oracle文档描述化身为:
化身
一个单独的数据库版本。使用 RESETLOGS 选项打开数据库时,数据库的化身会发生变化,但只要有必要的重做可用,您就可以从先前的化身恢复备份。
但我仍然不能完全理解它。谁能用通俗易懂的方式给我解释一下?
谢谢,
是否有任何表可以获得所有 Oracle 支持的系统权限和对象权限?我知道all_sys_privs在 Oracle 中有一个视图。但我找不到更多关于它的信息。
谢谢。
我有一个主数据库,其中已经有一些数据。master 数据库中的表包括 MyISAM 和 InnoDB 引擎。现在我想使用mysqldump来转储我的从 MySQL 服务器的初始数据。我应该传递给 mysqldump 的参数是什么?目前我使用的是下面列出的。
mysqldump --host=localhost --user=root --password=pa4word --single-transaction --lock-all-tables --master-data=1 mydb > result.sql
Run Code Online (Sandbox Code Playgroud)
这个命令可以吗?我不知道这是否适合我的环境(MyISAM 和 InnoDB 引擎表在一个数据库中)。
谢谢,
我对 SQL Server 的主动/主动集群有一个模糊的理解。任何人都可以帮助确认我的理解是否正确?
据我了解,主动/主动集群使用两个或多个 Windows 服务器。假设我们有两台服务器 n1 和 n2。然后我们在这两台服务器上创建一个故障转移集群,并将 n1 和 n2 加入集群。然后我们在 n1 和 n2 上安装一个 SQL Server 实例 i1。之后,我们在 n1 和 n2 上安装另一个 SQL Server 实例 i2。然后我们可以在 n1 上启动 i1 并在 n2 上启动 i2 以创建一个主动/主动集群。稍后我们可以将 i1 从 n1 故障转移到 n2,并将 i2 从 n2 故障转移到 n1。
我的理解正确吗?我们是否需要在 n1 和 n2 上安装实例 i1 和 i2?安装配置好主动/主动集群后,每个节点上安装并运行了多少SQL Server服务?
oracle ×5
sql-server ×3
mysql ×2
backup ×1
client ×1
clustering ×1
connectivity ×1
failover ×1
innodb ×1
instance ×1
metadata ×1
myisam ×1
mysqldump ×1
permissions ×1
replication ×1
role ×1
rollback ×1
t-sql ×1
transaction ×1
view ×1