如何创建用于从SSAS数据库进行备份的作业?

阿达兰·莎格霍利

我用SQL Server 2008 R2和SSAS。

我在SSAS中有一些维度数据库。

我需要每天创建一个工作,以从SSAS的所有数据库进行备份。

我该怎么办?

偷窃

因此,有几种方法:

1 /使用Analysis Services命令作为步骤创建一个SQL作业,每个DB使用类似于以下代码的代码:

<Backup xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
  <Object>
    <DatabaseID>DBName</DatabaseID>
  </Object>
  <File>\\server\share\folder\backupFile.abf</File>
  <AllowOverwrite>true</AllowOverwrite>
</Backup>

这很容易,而且很容易,如果您只有几个SSAS数据库,并且您不会定期删除或添加更多数据库,则维护起来相对容易

2 /创建一个SSAS链接服务器,然后在作业步骤中使用常规SQL语句来传递命令(为您提供了更多的灵活性,因为您可以使用变量来修改文件名等内容):

创建SSAS链接服务器

DECLARE @XMLA NVARCHAR(1000) ,
              @timeStamp NVARCHAR(35);

SET @timeStamp = CONVERT(NVARCHAR, GETDATE(), 112) + '_'
    + REPLACE(CONVERT(VARCHAR(8), GETDATE(), 108), ':', '');

SET @XMLA = N'<Backup xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
  <Object>
    <DatabaseID>dbName</DatabaseID>
  </Object>
  <File>\\server\share\folder\dbName_'
    + @timeStamp + '.abf</File>
    <AllowOverwrite>true</AllowOverwrite>
    <ApplyCompression>false</ApplyCompression>
</Backup>';

EXEC (@XMLA)  AT [SSAS_LinkedServer]

编辑:您还可以使用此方法执行的操作是使用以下方法轻松地从Analysis Server获取SSAS数据库的列表:

SELECT [catalog_name] FROM OPENQUERY([SSAS_LinkedServer],'select [catalog_name] from $system.dbschema_catalogs')

然后,您可以仅在此列表上移动,通过链接服务器为列表中的每个DB执行SSAS命令,因此,这意味着如果添加新的SSAS数据库,则无需手动维护作业。

3 /使用powershell,下面的方法在2008 R2上不起作用,但是可以修改为直接使用SMO,而不是它们在SQL Server 2012中提供的不错的提供程序(这是我们使用的方法,下面是示例从我的脚本):

import-module sqlps -disablenamechecking
$server = "SERVER\INSTANCE"
$backupPath = "\\backup-server\share\SSAS\$server\"

#Get a list of the SSAS databases on the server
$ssasDBs = dir SQLSERVER:\SQLAS\$server\databases

#Backup each SSAS database on the server
foreach ($db in $ssasDBs)
{
    $extension = Get-Date -UFormat "_%Y_%m_%d_%A_%H%M%S.abf"
    $backupFile = $backupPath+$db+$extension
    try
    {
        $db.Backup($backupFile)
    }
    catch
    {
        Write-Warning "Backup of $db Failed!!!"
    }
}

此方法的优点是,如果添加新的SSAS数据库,则无需更改作业,该脚本将自动对其进行备份,而无需进行任何更改。

我确定还有其他方法可以实现此目的,但是这是我用来管理SSAS备份的3种方法,我通常觉得SSAS的管理方面有些痛苦,因为它似乎有点不足,但这也许就是我。但是,SQL 2012中的新powershell位使其变得更加容易。

希望这至少对您可以做什么有帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何创建用于从SSAS数据库进行备份的作业?

来自分类Dev

如何使用VistaDB进行数据库备份?

来自分类Dev

如何使用 Java 进行 PostgreSQL 数据库备份

来自分类Dev

如何使用Java创建Postgres数据库的备份

来自分类Dev

从备份文件创建数据库

来自分类Dev

cpanel中具有cron作业的数据库备份

来自分类Dev

cpanel中具有cron作业的数据库备份

来自分类Dev

用于进行数据库备份的Shell脚本仅在提示符下起作用

来自分类Dev

用于创建SQL Server数据库备份文件的Python脚本(使用pyodbc)

来自分类Dev

SSAS多维数据集创建-数据库视图

来自分类Dev

如何备份Django数据库

来自分类Dev

如何备份Django数据库

来自分类Dev

如何备份/恢复 Firebird 数据库?

来自分类Dev

数据库备份

来自分类Dev

如何创建用于解决魔方的模式数据库?

来自分类Dev

无法在SQL SSAS中创建数据库

来自分类Dev

无法在SQL SSAS中创建数据库

来自分类Dev

如何在codeigniter中使用“设置间隔”功能进行自动数据库备份?

来自分类Dev

如何使用Java压缩Lotus Notes(.nsf)数据库进行每周备份?

来自分类Dev

如何在远程位置上进行heroku postgress数据库备份?

来自分类Dev

如何在codeigniter中使用“设置间隔”功能进行数据库自动备份?

来自分类Dev

用于数据库备份的Linux Shell脚本

来自分类Dev

如何从SQL Server 2012中的数据库创建特定表的备份.bak文件?

来自分类Dev

如何创建一个插件来备份WordPress数据库中的特定表?

来自分类Dev

如何备份Microsoft SQL Server数据库以创建多个100MB .bak文件

来自分类Dev

如何从SQL Server 2012中的数据库创建特定表的备份.bak文件?

来自分类Dev

自动还原SQL Server数据库备份以进行测试

来自分类Dev

在Rails中进行数据库备份4

来自分类Dev

创建mysqldump以备份数据库

Related 相关文章

  1. 1

    如何创建用于从SSAS数据库进行备份的作业?

  2. 2

    如何使用VistaDB进行数据库备份?

  3. 3

    如何使用 Java 进行 PostgreSQL 数据库备份

  4. 4

    如何使用Java创建Postgres数据库的备份

  5. 5

    从备份文件创建数据库

  6. 6

    cpanel中具有cron作业的数据库备份

  7. 7

    cpanel中具有cron作业的数据库备份

  8. 8

    用于进行数据库备份的Shell脚本仅在提示符下起作用

  9. 9

    用于创建SQL Server数据库备份文件的Python脚本(使用pyodbc)

  10. 10

    SSAS多维数据集创建-数据库视图

  11. 11

    如何备份Django数据库

  12. 12

    如何备份Django数据库

  13. 13

    如何备份/恢复 Firebird 数据库?

  14. 14

    数据库备份

  15. 15

    如何创建用于解决魔方的模式数据库?

  16. 16

    无法在SQL SSAS中创建数据库

  17. 17

    无法在SQL SSAS中创建数据库

  18. 18

    如何在codeigniter中使用“设置间隔”功能进行自动数据库备份?

  19. 19

    如何使用Java压缩Lotus Notes(.nsf)数据库进行每周备份?

  20. 20

    如何在远程位置上进行heroku postgress数据库备份?

  21. 21

    如何在codeigniter中使用“设置间隔”功能进行数据库自动备份?

  22. 22

    用于数据库备份的Linux Shell脚本

  23. 23

    如何从SQL Server 2012中的数据库创建特定表的备份.bak文件?

  24. 24

    如何创建一个插件来备份WordPress数据库中的特定表?

  25. 25

    如何备份Microsoft SQL Server数据库以创建多个100MB .bak文件

  26. 26

    如何从SQL Server 2012中的数据库创建特定表的备份.bak文件?

  27. 27

    自动还原SQL Server数据库备份以进行测试

  28. 28

    在Rails中进行数据库备份4

  29. 29

    创建mysqldump以备份数据库

热门标签

归档