Это не может быть то, что трудно - но я думаю, что являюсь довольно хромым. Совет?
Я очень не хочу предложить что-то не-Cisco, но Вы выполняете более старый конец life'd маршрутизаторов Cisco - таким образом, я буду. Когда мой ЯЩИК ДЛЯ ПРОБНОЙ МОНЕТЫ 506e зажженный, я заменил его tinsy системой от выполнения LogicSupply Vyatta и был только впечатлен.
Я просто послал производство машина VMware, выполняющая 6 статических IP, 3 внутренних сети (10.0.1.0/24, 10.0.2.0/24, 10.0.3.0/24), вся сетка из одного IP, и все 6 внешних IP случайным образом перенаправление портов внутрь без уважения к любому к отображениям.
Если бы у Вас была запасная машина, то Вы могли бы заменить 2600 или купить что-то твердое тело у LogicSupply - Вы будете чрезвычайно впечатлены Vyatta.. и хочу выстрелить себе в ногу для использования 2600 для чего-либо кроме дверной пружины.
пароль 7 0519091A3549430C
Это само собой разумеется - но Вы отправили свой частный IP, маршрутизатор, конфигурация маршрутизатора, и хешировали пароль онлайн. Ваша попытка изменить то право пароля?
Несколько мыслей здесь:
1) Не делайте этого. Серьезно. Миллионы таблиц были бы кошмаром и вероятно вызовут намного больше проблем, чем он решает.
2) Если Вы действительно хотите разбить таблицу в несколько таблиц, Вы не должны использовать это многие. В зависимости от Ваших аппаратных средств я ожидал бы, что 50 миллионов строк не будут никакой проблемой, таким образом, Вы могли разделить свои данные на 4 таблицы.
3) Что я сделал бы, если вообще возможный, должен будет обновить до SQL Server 2005 или 2008 и разделение таблицы использования. Это позволило бы Вам подразделять свои данные в таблице. Не идеальное решение, но намного лучше, чем миллионы таблиц.
Для ответа на конкретные вопросы я сказал бы, что маловероятно, что SQL Server мог обработать это много таблиц в одном экземпляре и если бы это может, имея одну таблицу на запись, сделал бы Query Analyzer, и т.д. вполне прилично бесполезный.
Быстрое дополнение: от сайта Microsoft:
Объекты базы данных включают все таблицы, представления, хранимые процедуры, расширенные хранимые процедуры, триггеры, правила, значения по умолчанию и ограничения. Сумма количества всех этих объектов в базе данных не может превысить 2,147,483,647.
http://msdn.microsoft.com/en-us/library/aa933149 (SQL.80) .aspx
Довольно удивительный, что число является ТОЧНО тем, которое Вы указали... Хм...
Ведение индексов должно быть сделано на основе существующей фрагментации, не вслепую. С кластеризованным столбцом IDENTITY у Вас не должно быть многого для волнения о. Сценарий дефрагментации Дурака SQL поможет.
200 миллионов строк не так очень и еще не стоящие разделения, по моему скромному мнению, из-за запроса наверху, много имен таблиц, требующих динамического SQL и т.д. Если у Вас нет крошечного окна обслуживания, возможно
У нас есть приблизительно 6 миллионов строк во ВСТАВЛЕННЫЙ день, FWIW в одну таблицу.
Боль хуже, чем усиление на основе информации, которую Вы дали.
Разделение на это много таблиц является кошмаром, и нисколько не рекомендуемый. Среди других сложностей думайте о сложности, требуемой добавить нового пользователя - необходимо ли динамично составить новую таблицу?
Ответ просто лучше индексирует, специально предназначенный вокруг запросов, которые Вы используете. Так как Вы не детализировали те запросы, я не могу дать Вам определенные рекомендации.
В целом, тем не менее, мы поддерживаем много баз данных с таблицами, столь же большими как это, и да это может быть боль, но его определенно возможное.
Если Вы действительно решаете там реализовать разделы, используйте другой способ разделить данные (возможно, текущие данные по сравнению со старыми данными), и обоснованно небольшое количество разделов. Следует иметь в виду, что, если Вы делаете это "вручную" (вместо того, чтобы использовать SQL 2005 + разделение функции) затем, все запросы против этих разделенных таблиц должны будут, вероятно, быть перепроектированы.
Править: В определенном ответе на одну часть Вашего вопроса да Руководитель предприятия / Query Analyzer может начать делать очень плохие вещи, когда у Вас есть крупные числа таблиц. У нас был плохо разработанный dbs с тысячами таблиц, и Вы не можете даже развернуть папку "Tables" в структурном виде, не ожидая ДОЛГОЕ ВРЕМЯ его для перечисления их всех.
Один на пользователя немного походит на излишество и грубо на Вашей кодовой базе. Необходимо было бы более или менее использовать динамический SQL в любом, сохранил proc, который использует те таблицы, который определенно усложняет жизнь и будущую разработку и тестирование. (Я говорю на основе опыта - мы раньше имели некоторые очень сложные таблицы, которые мы ежедневно генерировали; всеми взаимодействиями с теми таблицами был динамический SQL.)
Не зная требований приложений с помощью этих данных, действительно ли Вы могли стареть старые данные в архивную таблицу или таблицу истории / таблицы?
Для SQL 2k5/2k8 Вы могли использовать разделенные таблицы, которые могли бы помочь также и абстрагировать несколько вещей таблиц от Ваших запросов и приложений. Существуют некоторые глюки с разделенными таблицами, но они могли бы работать на Вас здесь.
С этим видом объема Вы оказываетесь перед необходимостью делать некоторую определенную разработку прототипа и сравнительное тестирование, так как нет никакого единого ответа.
Я пересмотрел бы дизайн.
Вы говорите, что это кластеризируется на memberid, но это могло вызвать расщепления страницы (и фрагментация), когда данные добавляются. Лучше, чтобы кластеризироваться на увеличивающихся суррогатных идентификационных данных (и иметь уникальный индекс, возможно, даже первичный ключ, на бизнес-ключе, который включал бы memberid).
С другой стороны, и даже если не кластеризация, у Вас должен быть уникальный индекс на memberid и уникальной части остальных столбцов, так как это кажется, что у Вас есть несколько строк на участника. Индекс на только memberid вряд ли будет, конечно, покрывать.
Кажется, что Разделение Таблицы является способом пойти. Вам будет нужен, по крайней мере, SQL Server 2005 как бы то ни было.
Вот хорошая статья о предмете для получения Вас, запустил Kimberly Tripp Статья MSDN