MSSQL

Discussion in 'Windows' started by попугай, 23 Jun 2014.

  1. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,520
    Likes Received:
    401
    Reputations:
    196
    Есть бекапы баз mssql 2005, файлы .bak. Пробую восстановить их в mssql - не выходит. Кто-нибудь восстанавливал такое? \
    И еще как можно сдампить крупную базу mssql в sql-format ? Пробовал adminer - он не берет выше 60мб.
     
  2. 1qoot1

    1qoot1 Member

    Joined:
    13 Jan 2014
    Messages:
    48
    Likes Received:
    10
    Reputations:
    1
    на что ругается при восстановлении?
     
  3. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,520
    Likes Received:
    401
    Reputations:
    196
    access denied. Но я под sa.
     
  4. 1qoot1

    1qoot1 Member

    Joined:
    13 Jan 2014
    Messages:
    48
    Likes Received:
    10
    Reputations:
    1
    если английскай версия, то смотреть в сторону Options, после того, как указал, куда и откуда восстанавливаться,
    должна стоять галочка Overwrite the existing database (WITH REPLACE)
     
  5. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,520
    Likes Received:
    401
    Reputations:
    196
    У меня на этой стадии сразу ошибка. Когда я файл с бекапом выбрал из проводника и нажал "принять", то сразу ошибка вываливается.

    Перевод.
     
  6. 1qoot1

    1qoot1 Member

    Joined:
    13 Jan 2014
    Messages:
    48
    Likes Received:
    10
    Reputations:
    1
    пробуй
    http://opendbcopy.sourceforge.net/
    http://sourceforge.net/projects/mssqltomysql/

    или есть вариант по сложнее, с linked-server и дальше уже заниматься развратом, в консоли(query-bilder), что и куда инсертить.

    пример как из mysql в mssql запихнуть данные

    Code:
    select * into mysql_db.dbo.cdr
    from openquery(MYSQL_DB, 'select * from _table-name_')
    
    Где:
    mysql_db.dbo.cdr созданая база в MSSQL
    MYSQL_DB - обращение к mysql базе
    _table-name_ - имя таблицы в MYSQL_DB из которой хотите сделать select.
     
  7. 1qoot1

    1qoot1 Member

    Joined:
    13 Jan 2014
    Messages:
    48
    Likes Received:
    10
    Reputations:
    1
    Надо смотреть, под кем запущен сервер. У этого пользователя может не быть прав на Temp
     
  8. dreamseller

    dreamseller New Member

    Joined:
    8 Dec 2013
    Messages:
    4
    Likes Received:
    2
    Reputations:
    0
    1. юзай bcp и дампи в txt, только формат бд запомни
    потом создай такую же таблицу и залей данные
    2. если у тебя bak от mdf попробуй переименоваться и заменить на рабочей бд файл, но тут я точно не скажу, по моему без ldf не канает или надо будет всю структуру базы создавать ручками
    3. sp_attach_db покопай, она старые бэкапы точно берет
     
  9. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,520
    Likes Received:
    401
    Reputations:
    196
    Попробовал снова восстановить бекап - нормально принялся и восстановился, даже не знаю почему. Раньше просто не принимался, хотя я делал все то же самое.

    За http://sourceforge.net/projects/mssqltomysql спасибо. Очень полезная тулза.

    Еще вопрос тогда - как мне перед заливкой крупного бекапа указать другой диск для хранения базы mssql, не C:/ ?
     
  10. 4upakabr0

    4upakabr0 Member

    Joined:
    14 May 2008
    Messages:
    124
    Likes Received:
    23
    Reputations:
    0
    я бы сделал так:
    - создал базу руками, с нулевым размером, без таблиц;
    - в Microsoft SQL Server Management Studio выставил путь хранения этой базы(отключил базу, в настройках поменял путь, подключил.. или както так, там просто);
    - сделал бэкап;